#ifndef __ITERATE_H__
#define __ITERATE_H__

#include <gtk/gtk.h>
#include <string>
#include <vector>

#include "sourcefile.h"
#include "projectfile.h"

#include "common.h"

using namespace std;

class Iterate {
	public:
		Iterate(const char *projectPath, int c);
		
		//---GUI related functions--------------------------------------------//
		
		///--Events
		static gboolean delete_event(GtkWidget*, GdkEvent*, gpointer);
		
		//--------------------------------------------------------------------//
		
		void addFile(const char *filename);
		
		void saveProject(void);
		
		void printProjectInfo(void) const;
	protected:
		void initializeFileList(void);
		void appendToFileList(const fileMetric *);
		
	private:
		GtkWidget *window;
		GtkWidget *menuBar;
		GtkWidget *mainBox;
		GtkWidget *statusBar;
		GtkWidget *toolBar;
		
		//---Menu Items-------------------------------------------------------//
		GtkWidget *menuItemProject;
		GtkWidget *menuItemHelp;
		
		GtkWidget *fileListView;
		
		ProjectFile *_project;
};

#endif

